package com.erp.programmer.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.erp.programmer.domain.SaleOrder;
import com.erp.programmer.dto.EditStateDto;
import com.erp.programmer.dto.PageDto;
import com.erp.programmer.dto.ResponseDto;
import com.erp.programmer.dto.SaleOrderDto;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Takagi3
 * @since 2021-05-24
 */
public interface ISaleOrderService extends IService<SaleOrder> {

    ResponseDto<List<SaleOrderDto>> getData();

    /**
     * 新增销售订单
     */
    ResponseDto<PageDto<SaleOrderDto>> saveSaleOrder(SaleOrderDto saleOrderDto);

    /**
     * 搜索销售订单，未设置条件则返回所有
     */
    ResponseDto<PageDto<SaleOrderDto>> getSaleOrders(PageDto<SaleOrderDto> pageDto);

    /**
     * 更新订单完成时间为当前时间
     */
    ResponseDto<PageDto<SaleOrderDto>> updateCompleteDate(SaleOrderDto saleOrderDto);

    /**
     * 更新订单状态
     */
    ResponseDto<PageDto<SaleOrderDto>> updatePaymentState(EditStateDto editStateDto);
}
